// 引入专门处理登录的接口
import { req_login } from "@/api/registerLogin";
export default {
    login_a:async ({commit},login_obj)=>{
        // actions中要完成的工作： 发送登录请求，将将求回来的数据存放到vuex
        // 实质上是将数据存放到state当中但是由于不能直接进行存储 需要经过mutations进行操作
        // login_obj  是登录时传递进来的用户名和密码

        // 要在actions当中发送登录的ajax请求，如果要发送login的ajax需要先收集到用户名和密码
        // login_a需要在组件当中进行触发并且将用户名和密码传递给actions中的login_a
        // 组件触发actions当中的方法 dispatch进行触发
        console.log(login_obj);
        // 在actions的login_a这个函数当中从组件当中收集到用户名和密码 目的：是为了提交给服务器，进行登录
        // 进行登录  发送ajax  谁能发送ajax 咱们封装的request能发送ajax  咱们将request封装一下进行分类管理接口  req_login 用来发送登录的ajax  参数 {method url  arg  headerType}
        // method post
        // url  '/login'
        // arg  用户名 密码  login_obj
        // headerType 'form'
        let result = await req_login({
            method:'post',
            url:'/login',
            arg:login_obj,
            headerType:'form'
        })
       
        console.log(result);
        // 得到成功的值之后需要做的任务
        // 将info token user_name 传递给mutations login函数进行state当中对应值的修改
        // 在actions当中触发mutations是通过commit进行触发
        // commit 触发mutaionsd当中login函数对应的参数是用户名和info和token  
        // console.log(commit);
        commit('login',{
            user_name:login_obj.user_name,
            info:result.data.info,
            token:result.data.token
        })

        // 问题是vuex不熟练
    }
}

